With the advent of the personal computer, the ability of individuals to create documents has become a less burdensome task. There are a number of character editor applications that exist on the market that enable individuals to create documents, each of these products varying in their abilities. These products primarily offer contextually based solutions. Where these products suffer or lack a solution is the ability to generate a document where multiple authors are needed or wanted to compile the document. More specifically, these products do not allow multiple authors to contribute to compiling a document contemporaneously.
In many instances, the ability to construct an electronic document can be a time consuming task whether the process is accomplished by a single author or by multiple authors. The latter proposition is exacerbated by the limits of current technology. Many of the applications that exist generate an electronic data file that forms the contextual basis for the author's content. This file usually is resident on either a personal computer hard-drive or on a server, which in this instance is made available to a variety of individuals. For example, the typical business computer environment involves a communication network, which includes computer workstations and servers that act to integrate the whole system. When a document is first assembled, it is stored on the servers where any user having access privileges can open the document and proceed with the editing process.
Efforts by two or more users to work contemporaneously are met with frustration when attempted on known systems. With the current technology, one of the difficulties is that when a first user is actively working on a file, the second user has difficulty working on the same file at the same time. The second author trying to add his section to the document at the same time as another author will encounter a number of different scenarios. The first scenario is that they will be denied access to the file because another user has opened the file and the system will only allow one user at a time to have access. Another negative attribute of this particular system is that as long as the first author has the file open, whether they are working on it or not, nobody else can have access to the file.
Another scenario is that the second author is apprised by the system that another user has the file open. This results in denial to the file or the system will prompt the second author with a question of whether they want a “ghost” copy of the file or not. If the second author decides to accept a “ghost” copy and proceeds to make changes, the application will not allow the “ghost” copy to be saved in lieu of the original file. Other techniques for single document creation are more primitive in nature. A group of authors can decide on creating their own section in a separate file, which eventually would be merged into a single document. With current technology, the creation process takes longer and is inherently more complicated taking into account formatting problems that usually plague the merging of various components even of existing formats but more so with differing formats.
1.1 Related Art
1.1.1 Patents
1.1.1.1 U.S. Pat. No. 5,515,491
U.S. Pat. No. 5,515,491 discloses a collaborative data processing system. The collaborative data processing system disclosed in U.S. Pat. No. 5,515,491 operates in a client server environment and attempts to achieve its goal by allowing multiple users to share a common object. A particular weakness of the system disclosed in U.S. Pat. No. 5,515,491 is that the system lacks a computer tractable emulation of language context and therefore cannot distinguish between language context and content. As such, the disclosed system is reduced to dealing with characters and cursor movements in which the smallest atomic element of change is the character. For example, when the cursor of one user of the disclosed system lands at the beginning of a word, the whole word becomes a floating lock area. Since a word is an arbitrary natural language construct and does not contribute directly to document structure, the implementation loses sight of the goal of collaborative authoring, which is to simulate the single author environment.
1.1.1.2 U.S. Pat. No. 6,047,288
U.S. Pat. No. 6,047,288 discloses a collaborative data processing system. The collaborative data processing system disclosed in U.S. Pat. No. 6,047,288 operates in a client server environment and attempts to achieve its goal by allowing multiple users to share a common object. The system disclosed in U.S. Pat. No. 6,047,288 does have a sense of controlling environmental attributes that allows users to check in and check out portions of a shared object. However, the structure of the controlling parameters is a constant across documents and consequently does not express the linguistic context of the document. For example, the system disclosed in U.S. Pat. No. 6,047,288 suggests a ‘session’ root node with sub-nodes like ‘notifyOnStart’, ‘broadcast’, ‘title’ and so on. Given, for example, a second document, the root node and sub-node identifiers would be the same (‘session’, ‘notifyOnStart’, . . . ) except their values would be different. The value of ‘session’ might, for example, be 3 instead of 2. In no way can these sub-nodes be construed as being a grammar in the sense that grammar is being used in the present invention.
Without a coherent linguistic grammar imposed as the context across the set of contributing authors, the collaborative nature of the system disclosed in U.S. Pat. No. 6,047,288 is reduced to the content arbitrariness of a document-oriented configuration management system whose pieces are merely checked out and in again. Object part collaboration is not synonymous with a multiply authored virtual document.
1.1.2 Collaborative Authoring Applications
1.1.2.1 Documentum
Documentum is a content management system. The guiding design goal of content management systems is the any-to-any model plus workflow. This indeed is a kind of document collaboration, but collaboration goes no further than the file. Documentum has numerous search facilities for handling content in files of any format, but suffers from the client server model and file based system's weaknesses.
1.1.2.2 Lotus Notes
Lotus Notes synchronizes client files on a periodic basis through an agreed upon server. Lotus Notes is client server and file based and consequently has no concept of distributed linguistic context like the present invention does. Although Lotus Notes collaborates, it collaborates on different entities than the present invention's linguistic representative, the node.
1.1.2.3 Structured Editors
1.1.2.3.1 Synthesizer Generator
The Synthesizer Generator is a structured editor tool first released in 1981. Synthesizer Generator deals with computer languages and not with linguistically semantic context free grammars (see 4.1 “semantic context free grammar”). The Synthesizer Generator has no collaborative networking capability.
1.1.2.3.2 Griffon and Alliance
Griffon (Decouchant et al. 1993) and Alliance (Decouchant et al., 1995 and Decouchant et al. 1996) each provide a distributed document environment by implementing edit controls in the form of roles on various parts of a document through the use of SGML. Document fragments are acquired, and there is one master fragment per system. When a master fragment is checked out, changed and checked back in again, fragment slaves are notified and updated.
However, each of these systems is limited in that in each the set of fragments is static throughout the authoring cycle, which is contrary to how documents get written in practice. SGML's elements are not strictly tied to either Griffon's or Alliance's notion of fragments. Consequently, Griffon and Alliance are inefficient in their ability to maintain overall document consistency. Furthermore, neither Griffon nor Alliance supports document structure change after start (except perhaps by exporting and restarting) because these programs rely on structures that can only be built at the start. Neither Griffon nor Alliance has true peer-to-peer facilities for content changes or for role and privilege storage and application. Griffon and Alliance are generalized structured editors with persistence mechanisms, which always forces centralization, at least in part, of the distributed document. Roles and privileges are not tied to the document structure.
As can be seen, a multiple author document is difficult to assemble according to known systems and methods. Current technology does not allow for an efficient manner and, in some aspects, creates further distress with its limitation and capabilities. Thus, there exists a need for an application that allows more than one author to contribute to a document contemporaneously while allowing the various authors, as well as observers to the process, to view the changes or updates as completed.